In the transmission of data from a source location to a destination location through a variety of media, noise caused by the transmission path and/or the media itself causes errors in the transmitted data. Thus, error correcting coding techniques to enhance the reliability and efficiency of a digital communication system has become widespread. Among the most well-known error correcting codes, the BCH (Bose-Chaudhuri-Hocquenghen) codes and the RS (Reed-Solomon) codes are the most widely used block codes in the communication field such like Cable Modems, Digital Video Broadcasting (DVB) systems, optical fiber submarine cable systems, AMPS cellular phone storage systems such like the Digital Versatile Disks (DVDs), CD-ROMs, or the flash memory.
The decoding process of the conventional errors-only RS codes is shown in FIG. 1. A syndrome calculator 10 generates 2t syndromes after receiving a codeword polynomial R(x), wherein t is the largest number of correctable errors. From these syndromes (S1˜S2t), a key equation solver 12 can generate an error locator polynomial σ(x) and an error evaluator polynomial Ω(x). Next, a Chien searcher 14 and an error evaluator 16 are used to determine the locations and values of errors, respectively. When both errors and erasures are corrected, σ(x) and Ω(x) are the errata locator polynomial and the errata evaluator polynomial, where the errata is referring to either an error or an erasure.
Generally speaking, the syndrome calculator can be used as an error detector. In the situation that the number of errors does not exceeds the largest number of correctable errors t, when all the calculated syndromes (S1˜S2t) are zeros, there is no error in the received codeword. However, no matter whether the received codeword is erroneous, it is necessary to calculate these 2t syndromes in the conventional architecture. In other words, it is necessary to first calculate the entire syndrome polynomial composed of 2t syndromes to judge whether the received codeword is erroneous. In a practical transmission circuit, the probability of no error is much larger than that of error. Therefore, in the situation of no error, needless power consumption is wasted in calculating the whole syndrome polynomial.
Accordingly, the present invention aims to propose a method for calculating the syndrome polynomial in decoding error correction codes, whereby only a half of the original computation is required in the situation of no error, which is much frequently in the practical transmission, hence the drawbacks of higher computation and high power consumption in the prior art can be overcome.